﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using TakbisBilgiSorgu_v1.wsUygulamaYetkiServis;
using System.Configuration;

namespace TakbisBilgiSorgu_v1
{
    public partial class WebForm19 : System.Web.UI.Page
    {
        UygulamaYetkiServis uygulamaYetkiServis = new UygulamaYetkiServis();

        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                if (!IsPostBack)
                {
                    if (((Kullanici)Session["kullanici"]) == null)
                    {
                        MesajVer(ConfigurationManager.AppSettings["GirisYapmalisinizMesaji"].ToString());
                        Response.Redirect("Login.aspx");
                    }
                    if (((Kullanici)Session["kullanici"]).GrupAdi == "Admin")
                    {
                        DropDownListKullaniciKod.Visible = true;
                        DropDownListKullaniciKod.DataSource = null;
                        DonusTip donusTip = new DonusTip();
                        donusTip.ID = 0;
                        donusTip.Deger = "Lütfen seçiniz.";
                        List<DonusTip> donusTipList = new List<DonusTip>();
                        donusTipList.Add(donusTip);
                        donusTipList.AddRange(uygulamaYetkiServis.AktifKullaniciGetir().ToList());
                        DropDownListKullaniciKod.DataSource = donusTipList;
                        DropDownListKullaniciKod.DataValueField = "ID";
                        DropDownListKullaniciKod.DataTextField = "Deger";
                        DropDownListKullaniciKod.DataBind();
                    }
                    else
                        DropDownListKullaniciKod.Visible = false;
                }
            }
            catch (Exception ex)
            {
                using (ExceptionLogDao el = new ExceptionLogDao())
                {
                    el.HataLogYaz(DateTime.Now.ToString() + "  " + ex.ToString());
                    if (ex.ToString().Contains("Sunucu isteği işleyemedi."))
                        MesajVer(ConfigurationManager.AppSettings["YetkiServisHatasi"].ToString());
                    else
                        MesajVer(ConfigurationManager.AppSettings["HataMesaji"].ToString());
                }
            }
        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            try
            {
                if (((Kullanici)Session["kullanici"]) != null)
                {
                    if (uygulamaYetkiServis.BosDegerMi(txtSifre.Text.Trim()) && uygulamaYetkiServis.SqlInjectionControl(txtSifre.Text.Trim()) &&
                    uygulamaYetkiServis.BosDegerMi(txtSifreTekrar.Text.Trim()) && uygulamaYetkiServis.SqlInjectionControl(txtSifreTekrar.Text.Trim()))
                    {
                        if (((Kullanici)Session["kullanici"]) != null && txtSifre.Text.Trim() == txtSifreTekrar.Text.Trim())
                        {
                            ((Kullanici)Session["kullanici"]).Sifre = txtSifre.Text.Trim();
                            bool sonuc = false;
                            if (((Kullanici)Session["kullanici"]).GrupAdi == "Admin")
                                sonuc = uygulamaYetkiServis.KullaniciSifreGuncelle(Convert.ToInt64(DropDownListKullaniciKod.SelectedItem.Value), txtSifre.Text.Trim());
                            else
                                sonuc = uygulamaYetkiServis.KullaniciSifreGuncelle(((Kullanici)Session["kullanici"]).ID, txtSifre.Text.Trim());
                            if (sonuc)
                            {
                                uygulamaYetkiServis.YetkilendirmeLogKaydet("KullaniciSifreGuncelle", ((Kullanici)Session["kullanici"]), null, null, ((Kullanici)Session["kullanici"]).ID);
                                MesajVer("Şifre Değiştirildi.");
                            }
                            else
                                MesajVer("Şifre Değiştirilemedi.");
                        }
                        else
                            MesajVer("Bilgileri Kontrol Edip Lütfen Tekrar Deneyiniz.");
                    }
                    else
                        return;
                }
                else
                    MesajVer("Kullanıcı Girişi Yapıp Lütfen Tekrar Deneyiniz.");
            }
            catch (Exception ex)
            {
                using (ExceptionLogDao el = new ExceptionLogDao())
                {
                    el.HataLogYaz(DateTime.Now.ToString() + "  " + ex.ToString());
                    if (ex.ToString().Contains("Sunucu isteği işleyemedi."))
                        MesajVer(ConfigurationManager.AppSettings["YetkiServisHatasi"].ToString());
                    else
                        MesajVer(ConfigurationManager.AppSettings["HataMesaji"].ToString());
                }
            }
        }

        protected void MesajVer(string mesaj)
        {
            ClientScript.RegisterStartupScript(this.GetType(), " Uyarı.. ", "ShowPopup('" + mesaj + "');", true);
        }
    }
}
